^=,<<=什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/03 21:06:26
有以下代码
String bytestr = data.substring(3, 8);
char ch0 = getCharInt(bytestr.charAt(0));
char ch1 = getCharInt(bytestr.charAt(1));
char ch2 = getCharInt(bytestr.charAt(3));
char ch3 = getCharInt(bytestr.charAt(4));
ch0 <<= 4;
ch0 ^= ch1;
ch2 <<= 4;
ch2 ^= ch3;其中“^=”和“<<=”是什么意思?
getCharInt方法如下:
private static char getCharInt(char ch) {
switch (ch) {
case 'a':
ch = 10;
break;
case 'b':
ch = 11;
break;
case 'c':
ch = 12;
break;
case 'd':
ch = 13;
break;
case 'e':
ch = 14;
break;
case 'f':
ch = 15;
break;
default:

^=,<<=是赋值运算符
ch0 <<= 4; <=> ch0 = ch0<<4; ("<<"是移位运算符,即将4转化为2进制字节码后将位置向左移4位)
ch0 ^= 4; <=> ch0 = ch0^4; ("^" 是按位或运算符)

Java的位运算啊,实际情况很少用的